package Box2D.Collision.Shapes
{
	import Box2D.Common.Math.b2Transform;
	import Box2D.Common.Math.b2Vec2;
	import Box2D.Common.b2Base;
	import Box2D.Common.b2Wrapper;
	
	public class b2Shape extends b2Wrapper
	{	
		public static const e_unknown:int = -1;
		public static const e_circle:int = 0;
		public static const e_edge:int = 1;
		public static const e_polygon:int = 2;
		public static const e_loop:int = 3;
		public static const e_typeCount:int = 4;
		
		public function b2Shape(wrapper:Object=null)
		{
			super(wrapper);
		}
		public static function GetType(wrapper:Object):int{return b2Base.impl.mem._mr32(wrapper+4)}
		
		public function get type():int{return getInt(4)}
		public function set type(value:int):void{setInt(4,value)}
		
		public function get radius():Number{return getNumber(8)}
		public function set radius(value:Number):void{setNumber(8,value)}
		
		public function TestPoint(xf:b2Transform,p:b2Vec2):Boolean{
			return call('b2Shape_TestPoint',xf.wrapper,p.wrapper);
		}
		
	}
}